package com.cms.recursoshumanos.handler;

import java.util.Date;

import com.cms.recursoshumanos.cache.MenuComidaCache;
import com.cms.recursoshumanos.facade.ListaComidaMenuScreenFacade;
import com.cms.recursoshumanos.utilities.Tool;

public class ListaComidaMenuScreenHandler extends BaseHandler
{
	public boolean verificar_mismo_menu(Date date_menu, int id_tipo_menu)
	{
		String date_selecc = Tool.getInstance().parseDateToString(date_menu,2);
		String date_del_menu = Tool.getInstance().parseDateToString(MenuComidaCache.getInstance().getMenuComida().getFechaMenu(), 2);
		if ((MenuComidaCache.getInstance().getMenuComida().getTipoMenu().getTipoMenuId() == id_tipo_menu) 
			&& (date_selecc.equals(date_del_menu)))
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	public void facadeListaComidaMenuScreen(String username, String password, Date date_menu, int id_tipo_menu)
	{
		ListaComidaMenuScreenFacade lista_comida_facade = new ListaComidaMenuScreenFacade(username, 
																							password,
																							Tool.getInstance().parseDateToString(date_menu,1),
																							id_tipo_menu);

		lista_comida_facade.getListaComidaMenu();
		//lista_comida_facade.run_facade(lista_comida_facade);
	}
	public void refreshListaComidaMenu (String username, String password, Date date_menu, int id_tipo_menu)
	{
		this.facadeListaComidaMenuScreen(username, password, date_menu, id_tipo_menu);
		MenuComidaCache.getInstance().setFechaMenu(date_menu);
	}
	public void getListaComidaMenu (String username, String password, Date date_menu, int id_tipo_menu)
	{
		
		if ((!MenuComidaCache.getInstance().cache_utilizable())
				|| MenuComidaCache.getInstance().lista_vacia()
				|| (!verificar_mismo_menu(date_menu, id_tipo_menu)))
		{
			this.facadeListaComidaMenuScreen(username, password, date_menu, id_tipo_menu);
			MenuComidaCache.getInstance().setFechaMenu(date_menu);
		}
		else
		{
			this.goListaComidaMenuScreen();
		}
	}

	
	
}
